ANN
# Tag:
- Source/KU_DL
ANN(Artificial Neural Network)
이를 해결하기 위해 Neuron을 모방해 선형 Layer 사이에 Non-Linear Layer(Activation Function)를 섞어 비선형적인 함수를 만들 수 있도록 한것이다.
위와 같은 비선형적인 classifier도 만들어 낼 수 있게 된다.
기존의 Linear Layer는 아무리 쌓아도, matrix에 대해 Linear Transformation을 거쳐 하나의 Matrix로 통합되게 되므로 이러한 NonLinear classifier를 만들 수 없었다.
위와 같이 기존의 Linear(, weights)와 : NonLinear를 여러 번 번갈아 쌓아가면서 만든 것이 ANN이다.
(적절한 bias를 더해, 그 판단의 기준점이 될 수 있도록 해준다.)
즉, Linear Classifier를 통해 Nonlinear를 기준으로 어떠한 비선형 함수 형태의 복잡한 decision boundary를 생성 가능하게 한다.
Universal Approximation Theorem
물론, 어디까지나 Existence에 대한 이론일 뿐, 어떻게 이를 구현하는지에 대한(non-constructive) 것이 알려져 있지 않으므로 적절한 model을 근사해내는 과정은 계속해서 연구되어야 한다.
proof
How to Learning?
여기서는, Weight가 독립변수가 되며, 종속 변수는 Loss 값이 된다.
기울기를 보고 기울기가 줄어드는 쪽으로 가중치 값을 이동시킨다.
오차 역전파법(Chain Rule, Back Propagation) 을 이용하여서 출력 층에서 입력 층 까지 되돌아가면서 Gradient Descent을 이용해 각각의 가중치 값을 수정해가는 방식을 사용한다.
Architectures
- Activation Function
- Number of nodes in a layer
- Number of layes
- Connectivity: CNN, RNN, Attention....
보통 layer가 deep할 수록 성능이 좋다고 알려져 있다. 이는 Represntation 능력이 향상됨의 일부로 해석 가능하다.
하지만, Layer가 깊게 쌓이며 Gradient Descent과 같은 문제가 나타나기도 한다. 이에 대한 해결책으로 ResNet의 Skip-connection 방식 등이 해결 방법이 된다.